package zzs.generalframework.console.core.parameter.technicalparameter.sysconfig.service;

import java.util.List;

import zzs.generalframework.common.core.parameter.technicalparameter.sysconfig.SysConfigBO;
import zzs.generalframework.common.core.parameter.technicalparameter.sysconfig.SysConfigInfo;
import zzs.generalframework.console.common.exception.ConsoleException;
import zzs.generalframework.console.common.model.ConsoleReturnBO;

/**
 * @title
 * @description
 * @project zzs-console
 * @package zzs.generalframework.console.core.parameter.technicalparameter.sysconfig.service
 * @author zzs
 * @date 2018年2月2日
 * @version 1.0
 */
public interface ISysConfigService
{

	/**
	 * 保存系统配置信息
	 *
	 * @param sysConfig
	 * @return
	 */
	public ConsoleReturnBO saveSysConfig(SysConfigBO sysConfigBO);

	/**
	 * 保存系统配置信息列表
	 *
	 * @param sysConfigBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO saveSysConfig(List<SysConfigBO> sysConfigBOList) throws ConsoleException;

	/**
	 * 获取系统配置信息
	 *
	 * @param sysConfigInfo
	 * @return
	 */
	public ConsoleReturnBO getSysConfig(SysConfigInfo sysConfigInfo);

	/**
	 * 获取系统配置信息列表
	 *
	 * @param sysConfigInfo
	 * @return
	 */
	public ConsoleReturnBO listSysConfig(SysConfigInfo sysConfigInfo);

	/**
	 * 更新系统配置信息
	 *
	 * @param sysConfigBO
	 * @return
	 */
	public ConsoleReturnBO updateSysConfig(SysConfigBO sysConfigBO);

	/**
	 * 更新系统配置信息列表
	 *
	 * @param sysConfigBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO updateSysConfig(List<SysConfigBO> sysConfigBOList) throws ConsoleException;

	/**
	 * 删除系统配置信息
	 *
	 * @param sysConfigBO
	 * @return
	 */
	public ConsoleReturnBO removeSysConfig(SysConfigBO sysConfigBO);

	/**
	 * 删除系统配置信息列表
	 *
	 * @param sysConfigBOList
	 * @return
	 * @throws ConsoleException
	 */
	public ConsoleReturnBO removeSysConfig(List<SysConfigBO> sysConfigBOList) throws ConsoleException;

	/**
	 * 统计系统配置信息
	 *
	 * @param sysConfigBO
	 * @return
	 */
	public Long countSysConfig(SysConfigBO sysConfigBO);

}
